1. Field
Generally, the following relates to systems and methods for accepting and fulfilling queries made of a dataset defined on n-dimensions, and some particular aspects relate to photon map query fulfillment, an API for accepting such queries, and n-dimensional query fulfillment and API techniques that may find more usage beyond graphics rendering.
2. Related Art
Rendering photo-realistic 2-D images from 3-D scene descriptions with various techniques is well-known in the computer graphics arts. Ray tracing is an example of an approach to visibility determinations, that in conjunction with lighting models allows creation of interesting visual effects, and highly accurate lighting effects resulting from modeling the physical behavior of the materials and surfaces involved. By contrast, rasterization techniques require more artist involvement in determining how objects in the scene affect each others' appearance, when viewed from a given perspective and under certain lighting conditions.
A lighting modeling technique of interest is called “photon mapping”. An example of photon mapping is tracing light energy from a light source (e.g., a light), and determining what surfaces it hits. Then, light energy is associated with hit points. Photons from the lights can be reflected, refracted, and energy from those photons can be split among those events. Ultimately, a given photon loses energy and that photon no longer is propagated.
The photons that were deposited by this process then are maintained in one or more photon maps that can be accessed during lighting calculations that can be run, for example, after identifying an intersection point of a ray in a scene. A variety of further refinements and differences to this basic approach have been proposed, such as using different photon maps for caustic photons, and the like.
Similar to ray tracing, using photon mapping for lighting determinations is quite compute intensive, and at its most realistic and most unimplementable could involve attempting to trace each photon coming from a given light source, which for an example 60w green light bulb would require a computer about 1014 times faster than those available at the time (2004). Thus, practical usage of photon mapping has required approximations. The following, in some aspects, proposes techniques for providing results from photon maps and mechanisms for interfacing with systems implementing such techniques.